#encoding:utf-8
'''
Created on 6 avr. 2011

@author: paraita

    detection de direction: comme pour la detection de mouvements
    je detecte un decalage entre l'acceleration precedente et la courante
    je teste ensuite cas par cas si on a un mouvement dans une direction particuliere

'''

from MyWiimote import MyWiimote
import time


if __name__ == '__main__':
    
    wiimote = MyWiimote()
    wiimote.recherche() # on cherche et on bind la premiere wiimote qu'on trouve
    wiimote.configure() # une fois la wiimote trouvée, on configure les sockets de communication
    
    wiimote.vibre(1)
    seuil = 20 # on detecte un mouvement quand on a une acceleration brusque
    sortie = False
    lastX,lastY,lastZ = wiimote.getAcc()
    
    '''
        on secoue la wiimote pour tester, et le boutton A pour sortir
    '''
    while not sortie:
        
        if wiimote.isBouttonAPressed():
            sortie = True
        else:
            x,y,z = wiimote.getAccCalibred()
            if (lastX - x) > seuil:
                print "GAUCHE"
            if (lastX - x) < -seuil:
                print "DROITE"
            if (lastY - y) > seuil:
                print "DERRIERE"
            if (lastY - y) < -seuil:
                print "DEVANT"
            if (lastZ - z) > seuil:
                print "HAUT"
            if (lastZ - z) < -seuil:
                print "BAS"

            #print x,"\t",y,"\t",z
            lastX = x
            lastY = y
            lastZ = z
        time.sleep(0.05)
    
    print "terminé"
    
    
    